home *** CD-ROM | disk | FTP | other *** search
- /* vixie.h - include file to define general vixie-type things
- * v1.0 vix 21jun86 [broken out of as.h]
- */
-
- #ifdef DOCUMENTATION
-
- There are two macros you can define before including this file which can
- change the things defined by this file.
-
- DEBUG: if defined, will cause enter/exit messages to be printed by the
- ENTER/EXIT/EXITV macros. If not defined, causes ENTER to do nothing,
- and EXIT/EXITV to generate 'return' without any messages.
-
- If defined, should be set to the name of the including module.
-
- MAIN: Should be defined for a program containing a main() function which
- is linked with other modules which include this file.
-
- Value is not important, only existence/nonexistence matters.
-
- #endif DOCUMENTATION
-
-
- #ifndef _VIXIE_FLAG
- #define _VIXIE_FLAG
-
-
- /*--- debugging stuff ---*/
- #define MAXPROC 256
-
- #ifdef DEBUG
- #define ENTER(proc) { \
- APC_PROCS[I_PROC] = proc; \
- printf("ENTER(%d:%s.%s)\n", \
- I_PROC, DEBUG, APC_PROCS[I_PROC]); \
- I_PROC++; \
- }
- #define EXIT(value) { \
- I_PROC--; \
- printf("EXIT(%d:%s.%s)\n", \
- I_PROC, DEBUG, \
- APC_PROCS[I_PROC]); \
- return value; \
- }
- #define EXITV { \
- I_PROC--; \
- printf("EXITV(%d:%s.%s)\n", \
- I_PROC, DEBUG, \
- APC_PROCS[I_PROC]); \
- return value; \
- }
- #else
- #define ENTER(proc)
- #define EXIT(value) {return value;}
- #define EXITV return;
- #endif
-
- #ifdef MAIN
- int I_PROC = 0;
- char *APC_PROCS[MAXPROC];
- #else
- extern int I_PROC;
- extern char *APC_PROCS[MAXPROC];
- #endif
-
-
- /*--- why didn't k&r put these into stdio.h? ---*/
- #define TRUE 1
- #define FALSE 0
- extern char *malloc(), *calloc();
-
-
- #endif _VIXIE_FLAG
-